﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Sistema_Totem.Clases;
using Sistema_Totem.Acceso_a_Datos.FabricaDAOS;
using Sistema_Totem.Acceso_a_Datos.DAOS;
using Sistema_Totem.Exepciones;
using Sistema_Totem.Acceso_a_Datos.Exepciones_A.Datos;
using Sistema_Totem.Logica.Exepciones_Logica;

namespace Sistema_Totem.Logica.Comandos.ComadoProyecto
{
    public class ComandoConsultarTodosProyectos: Comando<List<Entidad>>
    {
        private int _idUsuario;

        public ComandoConsultarTodosProyectos(int _idUsuario)
        {
            this._idUsuario = _idUsuario;
        }

        public override List<Entidad> Ejecutar()
        {
            try
            {
                return FabricaDAO.CrearFabricaDeDAO(1).CrearDAOProyecto().ConsultarProyectos(_idUsuario);
            }
            catch (ErrorConexionException ex)
            {
                throw new ProyectoException("El id del usuario : " + _idUsuario + " no pudo ser consultado contra BD", ex);
            }
            catch (ListadoVacioProyectosUsuarioException ex)
            {
                throw new ProyectoException("El id del usuario : " + _idUsuario + " no tiene proyectos asociados", ex);
            }
        }
    }
}